# 以下代码为提示框架
# 请在...处使用一行或多行代码替换
#
# 注意：提示框架代码可以任意修改，以完成程序功能为准
'''
问题3 (10分) :在PY301-3. py文件中修改代码，对“命运. txt”文件进行字符频次统计，将所有字符按照频次
从高到低排序，字符包括中文、标点、英文等符号，但不包含空格和回车。将排序后的字符及频次输出到考生
文件夹下，文件名为“命运-频次排序. txt”。字符与频次之间采用英文冒号”:"分隔，各字符之间采用英文逗
号”，”分隔，参考CSV格式，最后无逗号，文件内部示例格式如下:
理:224,斯:120,卫:100
'''

fo = open(r'命运.txt')
txt = fo.read()
for i in ['\n',' ']:
    if i in txt:
        txt = txt.replace(i, '')

d = {}
for i in txt:
    d[i] = d.get(i, 0) + 1

ls = list(d.items())
ls.sort(key=lambda x: x[1], reverse=True)  # 此行可以按照词频由高到低排序

fw = open('命运-词频排序.txt','w')
for tmp in ls:
    fw.write("{}:{},".format(tmp[0], tmp[1]))

